import { BASE_URL } from './base'

export const request = (options) => {
	return new Promise((resolve, reject) => {
		const { url, data, method } = options
		// console.log(url, data, method)
		uni.request({
			// url: BASE_URL + url,
			url: '/api' + url,
			data: data,
			method: method,
			header: {
				'content-type': 'application/json',
				Authorization: 'Bearer ' + uni.getStorageSync('token'),
				'token': uni.getStorageSync("token"),
			},
			// dataType: 'json',
			// 响应成功
			success(res) {
				// console.log(res);
				// 状态码 2xx，参考 axios 的设计
				if (res.data.code == 200) {
					// 2.1 提取核心数据 res.data
					resolve(res.data)
				} else if (res.data.code == 401) {
					// 401错误  -> 清理用户信息，跳转到登录页
					// userStore.clearUserInfo()
					uni.removeStorageSync('token')
					uni.navigateTo({ url: '/pages/login/login' })
					reject(res.data)
				} else {
					// 其他错误 -> 根据后端错误信息轻提示
					uni.showToast({
						icon: 'none',
						title: res?.msg || res?.data?.msg || '请求错误',
					})
					reject(res.data)
				}
			},
			// 响应失败
			fail(err) {
				uni.showToast({
					icon: 'none',
					title: '网络错误，换个网络试试',
				})
				reject(err)
			},
		})
	})
}

// uni.uploadFile封装
// export const uniFileUpload = (options) => {
//     // 1. 返回 Promise 对象
//     return new Promise((resolve, reject) => {
//         uni.uploadFile({
//             ...options,
//             // 响应成功
//             success(res) {
//                 // 状态码 2xx，参考 axios 的设计
//                 if (res.statusCode >= 200 && res.statusCode < 300) {
//                     // 文件上传接口的rea.data的类型为string，这里转一下
//                     const resData = JSON.parse(res.data)
//                     resolve(resData)
//                 } else if (res.statusCode === 401) {
//                     // 401错误  -> 清理用户信息，跳转到登录页
//                     // userStore.clearUserInfo()
//                     // uni.navigateTo({ url: '/pages/login/login' })
//                     reject(res)
//                 } else {
//                     // 其他错误 -> 根据后端错误信息轻提示
//                     uni.showToast({
//                         icon: 'none',
//                         title: '文件上传错误',
//                     })
//                     reject(res)
//                 }
//             },
//             // 响应失败
//             fail(err) {
//                 uni.showToast({
//                     icon: 'none',
//                     title: '网络错误，换个网络试试',
//                 })
//                 reject(err)
//             },
//         })
//     })
// }
